package com.heatup.apt.management.service.store;

import com.heatup.apt.model.TSysCity;
import com.heatup.apt.model.TSysDistrice;
import com.heatup.apt.model.TSysProvince;
import com.heatup.apt.model.store.StoreInfo;
import com.heatup.apt.model.store.StoreInfoRequest;

import java.util.List;
import java.util.Map;

/**
 * Created by b3st9u on 16/8/22.
 */
public interface StoreService {

    /**
     * 查询所有门店
     * @return
     */
    List<StoreInfo> queryAllStore();

    /**
     * 查询所有省
     * @return
     */
    List<TSysProvince> queryAllProvince();

    /**
     * 查找所有城市
     * @return
     */
    List<TSysCity> queryAllCity();

    /**
     * 查找所有区
     * @return
     */
    List<TSysDistrice> queryAllDistrict();

    /**
     * 保存门店
     * @param storeInfoRequest
     * @return
     */
    boolean saveStore(StoreInfoRequest storeInfoRequest);

    /**
     * 门店分页查询
     * @param paramsMap
     * @return
     */
    Map<String,Object> queryStoreList(Map<String, Object> paramsMap);

    /**
     * 删除门店
     * @param id
     * @return
     */
    boolean delStoreInfoById(Integer id);

    /**
     * 门店开业
     * @return
     */
    boolean openStoreById(StoreInfo storeInfo);

    /**
     * 门店即将开业
     *
     * @param storeInfo
     * @return
     */
    boolean readyStoreById(StoreInfo storeInfo);

    /**
     * 门店停业
     * @param storeInfo
     * @return
     */
    boolean closeStoreById(StoreInfo storeInfo);

    /**
     * 根据门店ID查询门店
     * @param storeId
     * @return
     */
    StoreInfoRequest queryStoreInfoById(Long storeId);

    /**
     * 查询所有有操房的门店
     *
     */
    List<StoreInfo> queryStoreListWithWorkoutRoom();
    
    /**
     * 数据中心门店列表 
     * @return
     */
    List<StoreInfoRequest> queryDataCenterStoreList(String status,String manageType);

    /**
     * 查询所有在线的门店 只查询营业中的
     *
     */
    List<StoreInfo> queryAllOnlineStore();
}
